pub fn dp_rec_mc(amount: u32) -> u32 {
    let denominations = [100, 50, 30, 20, 10, 5, 2, 1];
    let mut min_coins = 0;
    let mut remaining_amount = amount;
    for denom in denominations {
        let num_coins = remaining_amount / denom;
        remaining_amount -= num_coins * denom;
        min_coins += num_coins;
    }
    min_coins
}
